package org.ltc.alliance.service.club;

import org.ltc.alliance.constant.ClubTypeConst;
import org.ltc.alliance.constant.StatusConst;
import org.ltc.alliance.model.ClubDomain;

import java.util.List;

public interface ClubService {

    Integer saveClubInfo(ClubDomain club);

    List<ClubDomain> getClubByCtype(ClubTypeConst ctype);
    List<ClubDomain> getClubByCstatus(StatusConst.Club cstatus);
    List<ClubDomain> getNormalClubBriefInfo();
    StatusConst.Club getCstatusByCname(String cname);
    ClubDomain getClubByCid(Integer cid);

    void alterCstatusByCname(String cname, Boolean pass, StatusConst.Club preCstatus);
    void alterCstatusByCid(Integer cid, Boolean pass, StatusConst.Club preCstatus);



    /* 以下方法都是对输入信息进行检测，不符合则抛出异常 */
    void clubNameExist(String name);
    void clubIdExist(Integer cid);
    // 这里normal指社团存在且状态为normal或modified
    void clubStatusNormalByCid(Integer cid);


}
